package main

/**
array似乎跟java的数组没啥区别
*/
func main() {
	var arr1 [10]int //第一种定义数组的方式，直接指定数组长度，而不同大小属于不同类型，不能改变已经确定好的数组长度
	arr1[0] = 10
	arr1[1] = 20

	arr2 := arr1 //请注意，arr2获得的只是arr1的数组的复制，并非arr1指向数组的指针
	arr2[2] = 30

	arr3 := [3]int{1, 2, 3} //第二种定义数组的方式，特点是定义长度的同时定义元素，元素类型不可超过长度，不然编译不通过
	arr3[2] = 30

	arr4 := [...]int{1, 2, 3, 4} //第三种定义数组的方式，可以不去指定长度直接定义元素，长度根据元素个数判断
	arr4[0] = 10

	arr5 := [3][2]int{[2]int{1, 2}, [2]int{3, 4}, [2]int{5, 6}} //Go语言也支持定义多维数组，如何使用与Java类似
	arr5[0] = [2]int{7, 8}

	arr6 := [3][2]int{{1, 2}, {3, 4}, {5, 6}} //多维数组的定义也可以是这样的简洁格式
	arr6[1] = [2]int{9, 10}

}
